package com.example.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @SuppressLint("CommitPrefEdits")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // SharedPreferences用来存储轻量数据

        // https://blog.csdn.net/cc20032706/article/details/74668774

        // 如果不是Activity，而是普通的类，可以传入Context（getApplicationContext()，如果直接传this可能会导致这个Activity无法被垃圾回收）到这个普通类里，然后通过context来获取（Context里的方法）
        // 共享的，这个会存储在/data/data/com.example.demo/shared_prefs/data1.xml里
        SharedPreferences sharedPreferences1 = getSharedPreferences("data1", Context.MODE_PRIVATE);
        // 这个类(Activity)专属的，这个会存储在/data/data/com.example.demo/shared_prefs/MainActivity.xml里
        SharedPreferences sharedPreferences2 = getPreferences(Context.MODE_PRIVATE);
        // MODE_PRIVATE是指只有本应用可以读取（root后也可以获取到

        // 编辑数据
        SharedPreferences.Editor editor = sharedPreferences1.edit();
        editor.putInt("count", 100);
        editor.putString("name", "张三");
        // 提交数据
        editor.apply();

        // 读取
        int count = sharedPreferences1.getInt("count", -1);
        String name = sharedPreferences1.getString("name", "无名");
        Log.i("666", count + ", " + name);
        Toast.makeText(this, count + ", " + name, Toast.LENGTH_SHORT).show();
    }
}